// pages/channel/channel.js
let http = require('../../utils/api.js');
import {
    toData,
    myHttps,
    json,
    login
} from '../../utils/util.js';
import {
    myHttpss,
} from '../../utils/json.js';
let wxparse = require("../../wxParse/wxParse.js")
//获取应用实例
const app = getApp()
Page({

    /**
     * 页面的初始数据
     */
    data: {
        del: true, //控制小叉的显示隐藏
        data: [],
        login: '',//判断是否登陆过
        tList: [], //所有频道
        hidden: true,
        flag: false,
        x: 0,
        y: 0,
        disabled: true,
        elements: [],
        hiddenLoading: false,

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        this.setData({
            login: options.froms,
        })
        var query = wx.createSelectorQuery();
        var nodesRef = query.selectAll(".item");
        nodesRef.fields({
            dataset: true,
            rect: true

        }, (result) => {
            this.setData({
                elements: result
            })
        }).exec();
        this.choose(); //获取频道列表
    },
    // 选择领域列表
    choose() {
        // 领域接口
        let url = http.api.choose;
        myHttps({
            url: url,
            method: 'GET',
        }).then(res => {
            console.log(this.data.login)
            if (this.data.login == 'find') {//说明从发现页面带过来的 上面只显示selected
                for (var i = 0; i < res.data.content.length; i++) {
                    if (res.data.content[i].selected == true || res.data.content[i].selected == true) {
                        this.data.data.push(res.data.content[i])

                    } else if (res.data.content[i].is_default == false) {//所有频道
                        this.data.tList.push(res.data.content[i])
                    }
                }
            } else if (this.data.login == 'index'){

                for (var i = 0; i < res.data.content.length; i++) {
                    if (res.data.content[i].is_default == true) {//默认得四个频道
                        this.data.data.push(res.data.content[i])

                    } else if (res.data.content[i].is_default == false) {//所有频道
                        this.data.tList.push(res.data.content[i])

                    }
                }
            }
            // console.log(this.data.data)
            // console.log(this.data.tList)
            this.setData({
                tList: this.data.tList,
                data: this.data.data,
                hiddenLoading: true
            });
            this.islength();// 判断选中的频道 大于4个 就显示删除按钮 否则不显示删除按
        })
    },
    // 判断选中的频道 大于4个 就显示删除按钮 否则不显示删除按
    islength() {
        // console.log(this.data.data.length)
        if (this.data.data.length <= 4) {
            this.setData({
                del: false
            });
        } else {
            this.setData({
                del: true
            });
        }
    },
    //点所有频道 选中到我的频道
    addchoose(e) {
        // console.log(e)
        if (this.data.data.length >= 8) {
            wx.showToast({
                icon: 'none',
                title: '最多可选八个频道',
            })
        } else {
            let id = e.currentTarget.dataset.id
            var index = e.currentTarget.dataset.index;
            var data = this.data.tList;
            this.data.data.push(data[index]);//点击谁 push谁
            this.islength();// 判断选中的频道 大于4个 就显示删除按钮 否则不显示删除按
            delete data[index];
            this.setData({
                tList: this.data.tList,
                data: this.data.data,
            });
        }
        // console.log(this.data.data)
        wx.setStorageSync('tList', this.data.tList);
    },
    // 点击叉号删除选中的频道
    delChannel(e) {
        let id = e.currentTarget.dataset.id
        var index = e.currentTarget.dataset.index;
            var data = this.data.data;
            this.data.tList.push(data[index]);//点击谁 push谁
            // delete data[index];
            this.data.data.splice(index, 1);
            this.setData({
                tList: this.data.tList,
                data: this.data.data,
            }); 
        this.islength(); // 判断选中的频道 大于4个 就显示删除按钮  否则不显示删除按
        // console.log(this.data.tList)
    },
    // 选择领域结果  提交选择频道接口 第一次授权登陆用这个方法提交
    selected() {
        let userId = wx.getStorageSync('userId');
        var channelid = [];
        for (var i = 0; i < this.data.data.length; i++) {
            // console.log(channel[i].id)
            channelid.push(this.data.data[i].id)
        }
        let url = http.api.selected + userId + '/channels';
        let obj = {
            channel_id: channelid
        }
        // console.log(obj)
        this.setData({
            channelid: channelid
        })
        myHttpss({
            url: url,
            method: 'POST',
            data: obj
        }).then(res => {//成功后跳转首页
            if (res.code == 1) {
                wx.switchTab({
                    url: '../indexs/index',
                    success: function (res) { },
                    fail: function (res) { },
                    complete: function (res) { },
                })
            }
        })
    },
    // 选择领域结果  提交选择频道接口 授权之后用这个方法提交频道
    selecteds() {
        let userId = wx.getStorageSync('userId');
        var channelid = [];
        for (var i = 0; i < this.data.data.length; i++) {
            // console.log(channel[i].id)
            channelid.push(this.data.data[i].id)
        }
        let url = http.api.selected + userId + '/channels';
        let obj = {
            channel_id: channelid
        }
        console.log(obj)
        this.setData({
            channelid: channelid
        })
        myHttpss({
            url: url,
            method: 'POST',
            data: obj
        }).then(res => {
        })
    },
    // 点击确定 回首页
    goLogin() {
        this.selecteds()
        if (this.data.login == 'index') {
            console.log('1')
            wx.switchTab({
                url: '/pages/indexs/index',
                success: function(res) {},
                fail: function(res) {},
                complete: function(res) {},
            })
        } else if (this.data.login == 'find'){
            wx.switchTab({
                url: '/pages/find/find',
                success: function (res) { },
                fail: function (res) { },
                complete: function (res) { },
            })
        }
    },
    // 长按
    // _longtap: function (e) {
    //     console.log(e)
    //     const detail = e.detail;
    //     this.setData({
    //         x: e.currentTarget.offsetLeft,
    //         y: e.currentTarget.offsetTop
    //     })
       
    //     this.setData({
    //         hidden: false,
    //         flag: true
    //     })

    // },
    // //触摸开始
    // touchs: function (e) {
    //     // console.log(e)
    //     this.setData({
    //         beginIndex: e.currentTarget.dataset.index
    //     })
    // },
    // //触摸结束
    // touchend: function (e) {
    //     if (!this.data.flag) {
    //         return;
    //     }
    //     const x = e.changedTouches[0].pageX
    //     const y = e.changedTouches[0].pageY
    //     console.log(x,y)
    //     const list = this.data.elements;
    //     let data = this.data.data
    //     for (var j = 0; j < list.length; j++) {
    //         const item = list[j];
    //         if (x > item.left && x < item.right && y > item.top && y < item.bottom) {
    //             const endIndex = item.dataset.index;
    //             const beginIndex = this.data.beginIndex;
    //             //向后移动
    //             if (beginIndex < endIndex) {
    //                 let tem = data[beginIndex];
    //                 for (let i = beginIndex; i < endIndex; i++) {
    //                     data[i] = data[i + 1]
    //                 }
    //                 data[endIndex] = tem;
    //             }
    //             //向前移动
    //             if (beginIndex > endIndex) {
    //                 let tem = data[beginIndex];
    //                 for (let i = beginIndex; i > endIndex; i--) {
    //                     data[i] = data[i - 1]
    //                 }
    //                 data[endIndex] = tem;
    //             }

    //             this.setData({
    //                 data: data
    //             })
    //         }
    //     }
    //     this.setData({
    //         hidden: true,
    //         flag: false
    //     })
    // },
    // //滑动
    // touchm: function (e) {
    //     if (this.data.flag) {
    //         const x = e.touches[0].pageX
    //         const y = e.touches[0].pageY
    //         this.setData({
    //             x: x - 75,
    //             y: y - 90
    //         })
    //     }
    // }
})